# -*- coding:utf-8
"""
作者: Jia
日期: 2022年04月19日
描述: https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/
"""
from typing import List


class Solution:
    def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
        d = dict()
        # 统计nums1中的数据出现的次数
        for num in nums1:
            d[num] = d.get(num, 0) + 1

        ret = []
        # 统计nums2中数据出现的次数，如果在nums1中出现过就插入数组中
        for num in nums2:
            d[num] = d.get(num, 0) - 1
            if d[num] >= 0:
                ret.append(num)

        return ret
